package com.mrd.gtimp.service;

import com.mrd.gtimp.service.dto.GtimpBaseBizQueryDTO;

import javax.jws.WebService;

/**
 * 货运平台与业务系统之间
 * @author hejj
 */
@WebService
public interface IDeclarationBizService extends IBizService {

	/**
	 * 报关业务数据接收接口(上传)
	 * @param paramsJson
	 * @return
	 * @throws Exception
	 */
	public String insertDeclarationBiz(String paramsJson) throws Exception;

	/**
	 * 报关业务数据接收接口(修改上传)
	 * @param paramsJson
	 * @return
	 * @throws Exception
	 */
	public String updateDeclarationBiz(String paramsJson) throws Exception;

	/**
	 * 报关业务信息查询
	 * 报关报检有海关放行、商检放行信息查询（用于信息补录的）
	 * @param paramsJson
	 * @return
	 * @throws Exception
	 */
	public String findDeclarationBizInfo(String paramsJson) throws Exception;

	/**
	 * 报关报检资料寄送提醒接口
	 * @param qdto
	 * @return
	 * @throws Exception
	 */
	public String findDeclarationInformListForSup(GtimpBaseBizQueryDTO qdto)
	        throws Exception;

	/**
	 * 确认接收报关报检资料寄送
	 * @param qdto
	 * @return
	 * @throws Exception
	 */
	public String validateConfirmInfrom(GtimpBaseBizQueryDTO qdto) throws Exception;

	/**
	 * 通过bpk或货运平台业务ID，发送海关查货的通知
	 * @param qdto
	 *            必填(bpk或货运平台业务ID其中一项)，supId
	 * @return eg：{state:1,msg:'操作成功'}
	 * @throws Exception
	 */
	public String processToCustomCheck(GtimpBaseBizQueryDTO qdto) throws Exception;

	/**
	 * 通过bpk或货运平台业务ID，发送海关放行的通知
	 * @param qdto
	 *            必填(bpk或货运平台业务ID其中一项)，supId
	 * @return eg：{state:1,msg:'操作成功'}
	 * @throws Exception
	 */
	public String processToCustomFree(GtimpBaseBizQueryDTO qdto) throws Exception;

	/**
	 * 通过bpk或货运平台业务ID，发送商检查货的通知
	 * @param qdto
	 *            必填(bpk或货运平台业务ID其中一项)，supId
	 * @return eg：{state:1,msg:'操作成功'}
	 * @throws Exception
	 */
	public String processToCommodityCheck(GtimpBaseBizQueryDTO qdto) throws Exception;

	/**
	 * 通过bpk或货运平台业务ID，发送商检放行的通知
	 * @param qdto
	 *            必填(bpk或货运平台业务ID其中一项)，supId
	 * @return eg：{state:1,msg:'操作成功'}
	 * @throws Exception
	 */
	public String processToCommodityFree(GtimpBaseBizQueryDTO qdto) throws Exception;

	/**
	 * 供应商报关资料发送提醒查看页面
	 * @param paramsJson
	 * @return
	 * @throws Exception
	 */
	public String findForDeclarationInform(String paramsJson) throws Exception;

	/**
	 * 报关系统反馈状态（初审、复审、现场提单等）
	 * @param paramsJson
	 * @return
	 */
	public String declarationStateTrack(String paramsJson) throws Exception;
	
	
	/**
	 * 业务确认，更新GTIMP的报关单号
	 * @param work_no 三联单编号
	 * @param sno 报关单号
	 * @return
	 * @throws Exception
	 */
	public String confirmDeclarationNoBiz(String work_no, String sno) throws Exception;

}
